perm filename U11[1,BGB] blob
sn#148107 filedate 1975-03-03 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00017 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00003 00002 /NOTATION:
C00005 00003 LOC NXT *SOURCE MODE 0 (REGISTER) GET SOURCE DATA
C00008 00004 _____________________________________________________________________
C00012 00005 LOC NXT * DEST, MODE 0 (REGISTER), GET DEST DATA, OP, AND REPLACE
C00015 00006 LOC NXT * DEST, MODE 1 (REG.DEFERRED) GET DEST DATA, OP, AND REPLACE
C00018 00007 LOC NXT * DESTINATION MODE 0, BYTE
C00021 00008 LOC NXT * BINARY OPERATORS GET SINGLE OPERAND B AND B[10]
C00023 00009 LOC NXT * CONDITION CODE MASK (FOR BOTH SET AND CLEAR)
C00024 00010 LOC NXT * SET CONDITION CODES
C00026 00011 LOC NXT * JMP
C00028 00012 LOC NXT * RTS
C00029 00013 LOC NXT * WAIT
C00031 00014 LOC NXT * EMT TRAP (VECTOR LOC=30)
C00033 00015 LOC NXT * TRAP (VECTOR LOC=34)
C00036 00016 LOC NXT * CONSOLE DEPOSIT SWITCH - OTHER TIMES (INC P[17])
C00038 00017 LOC NXT * RESET
C00041 ENDMK
C⊗;
/NOTATION:
/ 1. MICRO ROUTINES BEGIN WITH A COMMENT PREFIXED BY "*".
/ 2. ALL OTHER COMMENTS ARE PREFIXED BY SLASH "/".
/ 3. R[N] REFERS TO SCRATCH PAD REGISTER N,
/ R[7] IS ALSO REFERRED TO AS "PC".
/ 4. R[S] REFERS TO THE REGISTER SPECIFIED IN THE SOURCE FIELD
/ OF THE CURRENT INSTRUCTION, IR<8:6>
/ R[D] REFERS TO THE REGISTER SPECIFIED IN THE DESTINATION FIELD
/ OF THE CURRENT INSTRUCTION, IR<2:0>
/ 5. K[N] REFERS TO A LOCATION OF THE CONSTANTS CHIP THAT CONTAINS N.
/ 6. "BUT" STANDS FOR "BRANCH ON MICRO TEST".
LOC NXT * INSTRUCTION FETCH
062 053 F-1 BA←PC; DATI
053 365 F-2 B←PC+2
365 364 F-3 PC←B; CKOFF
364 061 F-4 B,IR←UNIBUS DATA
061 001 F-5 B←B SEX; BUT IR DECODE
/ IF DOUBLE OP INST GOTO S0-1 THRU S7-1 DEPENDING ON SOURCE MODE
/ IF SINGLE OP INST GOTO D0-1 THRU D7-1 DEPENDING ON DESTINATION MODE (INCLUDING JSR)
/ IF BRANCH, CHANGE PC GOTO B-1
/ IF BRANCH, PC UNCHANGED GOTO B2-2
/ IF CLEAR OR SET COND CODE(S) GOTO CCM-1
/ IF INST=RTS GOTO R1-1
/ IF INST=RTI GOTO R2-1
/ IF INST=WAIT GOTO W-1
/ IF INST=HALT GOTO H-1
/ IF INST=RESET GOTO RST-1
/ IF INST=EMT GOTO ET-1
/ IF INST=BPT GOTO BT-1
/ IF INST=IOT GOTO IT-1
/ IF INST=TRAP GOTO T-1
/ IF RESERVED INSTRUCTION (NONE OF THE ABOVE) GOTO RT-1
LOC NXT *SOURCE MODE 0 (REGISTER) GET SOURCE DATA
/GET TO S0-1 FROM F-5 VIA BUT IR DECODE <11:9>=0
201 007 S0-1 B←R[S]; BUT BYTE
/IF BYTE INST GOTO SBE-1 (MUST BE EVEN BYTE)
007 001 S0-2 R[10]←B; BUT DESTINATION
/IF IR<5:3> =0 GOTO D0-1
/ =1 GOTO D1-1
/ =2 GOTO D2-1
/ =3 GOTO D3-1
/ =4 GOTO D4-1
/ =5 GOTO D5-1
/ =6 GOTO D6-1
/ =7 GOTO D7-1
_____________________________________________________________________
LOC NXT *SOURCE MODE 1 (REGISTER DEFERRED) GET SOURCE DATA
/GET TO S1-1 FROM F-5 VIA BUT IR DECODE <11:9>=1
203 244 S1-1 BA←R[S]; DATI; CKOFF; ALBYT
/GET TO S1-2 FROM S2-3 VIA GOTO
/GET TO S1-2 FROM S3-5 VIA GOTO
/GET TO S1-2 FROM S6-5 VIA GOTO
244 007 S1-2 B←UNIBUS DATA; BUT BYTE; GOTO S0-2
/IF ODD BYTE GOTO SBO-1
/IF EVEN BYTE GOTO SBE-1
/IF NOT BYTE FALL THROUGH TO S0-2
_____________________________________________________________________
LOC NXT *SOURCE MODE 2 (AUTO-INCREMENT) GET SOURCE DATA
/GET TO S2-1 FROM F-5 VIA BUT IR DECODE <11:9>=2
205 301 S2-1 BA←R[S]; DATI; ALBYT
301 014 S2-2 B←R[S]+1+BYTE;BAR
/GET TO S2-3 FROM S4-1 VIA GOTO
014 244 S2-3 R[S]←B; CKOFF; GOTO S1-2
_____________________________________________________________________
LOC NXT *SOURCE MODE 3 (AUTO-INC DEFERRED) GET SOURCE DATA
/GET TO S3-1 FROM F-5 VIA BUT IR DECODE <11:9>=3
207 016 S3-1 BA←R[S]; DATI (MUST BE AN EVEN ADDRESS HERE)
016 017 S3-2 B←R[S]+2
/GET TO S3-3 FROM S5-1 VIA GOTO
017 134 S3-3 R[S]←B; CKOFF
/GET TO S3-4 FROM S7-5 VIA GOTO
134 274 S3-4 B←UNIBUS DATA
274 244 S3-5 BA←B; DATI; CKOFF; GOTO S1-2; ALBYT
_____________________________________________________________________
LOC NXT *SOURCE MODE 4 (AUTO DECREMENT) GET SOURCE DATA
/GET TO S4-1 FROM F-5 VIA BUT IR DECODE <11:9>=4
211 014 S4-1 B,BA←R[S]-1-BYTE.BAR; DATI; ENABOVER; GOTO S2-3; ALBYT
_____________________________________________________________________
LOC NXT *SOURCE MODE 5 (AUTO DECREMENT DEFERRED) GET SOURCE DATA
/GET TO S5-1 FROM F-5 VIA BUT IR DECODE <11:9>=5
213 017 S5-1 B,BA←R[S]-2; DATI (ADDR MUST BE EVEN); ENABOVER; GOTO S3-3
_____________________________________________________________________
LOC NXT *SOURCE MODE 6 (INDEXED) GET SOURCE DATA
/GET TO S6-1 FROM F-5 VIA BUT IR DECODE <11:9>=6
215 025 S6-1 BA←PC; DATI(ADDR MUST BE EVEN)
025 026 S6-2 B←PC+2
026 027 S6-3 PC←B; CKOFF
027 030 S6-4 B←UNIBUS DATA
030 244 S6-5 BA←B+R[S]; DATI; CKOFF; GOTO S1-2; ALBYT
_____________________________________________________________________
LOC NXT *SOURCE MODE 7 (INDEXED DEFERRED) GET SOURCE DATA
/GET TO S7-1 FROM F-5 VIA BUT IR DECODE <11:9>=7
217 032 S7-1 BA←PC; DATI(ADDR MUST BE EVEN)
032 033 S7-2 B←PC+2
033 034 S7-3 PC←B; CKOFF
034 035 S7-4 B←UNIBUS DATA
035 134 S7-5 BA←B+R[S]; DATI(ADDR MUST BE EVEN); CKOFF; GOTO S3-4
LOC NXT * SOURCE BYTE ODD
/ GET TO SBO-1 FROM S1-2 VIA BUT BYTE (BYTE INST. AND SOURCE DATA ODD ADDR)
067 346 SBO-1 SHIFT B RIGHT; F SHIFT
346 324 SBO-2 SHIFT B RIGHT; F SHIFT
324 340 SBO-3 SHIFT B RIGHT; F SHIFT
340 361 SBO-4 SHIFT B RIGHT; F SHIFT
361 050 SBO-5 SHIFT B RIGHT; F SHIFT
050 020 SBO-6 SHIFT B RIGHT; F SHIFT
020 052 SBO-7 SHIFT B RIGHT; F SHIFT
052 047 SBO-8 SHIFT B RIGHT; GOTO SBE-1
_____________________________________________________________________
LOC NXT * SOURCE BYTE EVEN
/GET TO SBE-1 FROM SBO-8 VIA GOTO
/GET TO SBE-1 FROM S1-2 VIA BUT BYTE (BYTE INST & SOURCE DATA EVEN ADDR)
/GET TO SBE-1 FROM S0-1 VIA BUT BYTE (BYTE INST)
047 001 SBE-1 R[10]←B SEX; BUT DESTINATION
/ IF IR<5:3> =0 GOTO D0-1
/ =1 GOTO D1-1
/ =2 GOTO D2-1
/ =3 GOTO D3-1
/ =4 GOTO D4-1
/ =5 GOTO D5-1
/ =6 GOTO D6-1
/ =7 GOTO D7-1
---------------------------------------------------------------------
LOC NXT * DEST, MODE 0 (REGISTER), GET DEST DATA, OP, AND REPLACE
/ GET TO D0-1 FROM S0-2 VIA BUT DESTINATION (IR<5:3>=0)
/ GET TO D0-1 FROM SBE-1 VIA BUT DESTINATION (IR<5:3>=0)
101 154 D0-1 B←R[D]; BUT MOVE
/ IF INST=MVE,BAR (OTHER THAN MOVE)AND BYTE GOTO DB0-1
/ IF INST=MOVE AND BYTE GOTO MB-0
/ IF INST=MOVE AND BYTE,BAR GOTO D0-3A
/ IF INST=MOVE,BAR AND BYTE,BALL FALL THRU TO D0-2
157 142 D0-2 R[11]←B; BUT UNARY
/ IF INST=JMP OR JSR GOTO ERT-1 (ILLEGAL INST. TRAP)
/ IF INST=SWAB GOTO SB1-1
/ IF INST=OTHER UNARY(CLR,COM,INC,DEC,NEG,ADC,SBC,TST,ROR,ROL,ASR,ASL)GOTO U1-1
/ GET TO D0-3 FROM U1-1 VIA GOTO
/ GET TO D0-3 FROM D0-1 VIA BUT BYTE (INST=MOVE AND BYTE,BAR)
162 332 D0-3 B←R[10] OP B; BUT NONMOD
/ THERE EXISTS A D03-A WHICH IS IDENTICAL TO D0-3 EXCEPT LOC=155
/ GET TO D0-3A FROM SB1-B VIA GOTO
/ IF NONMOD GOTO B2-2 (BUT SERVICE)
/ IF NOT NONMOD FALL THRU TO D0-4
/ GET TO D0-4 FROM R1-6 VIA GOTO
332 040 D0-4 R[D]←B; BUT SERVICE
/ PRIORITIES ARE LISTED HIGHEST TO LOWEST
/ IF T BIT TRAP GOTO BT-1
/ IF STACK OVERFLOW GOTO ERT1A
/ IF POWERFAIL GOTO PF-1
/ IF BR7 GOTO BG-1
/ IF BR6 GOTO BG-1
/ IF INTERNAL LINE CLOCK GOTO LC-1
/ IF BR5 GOTO BG-1
/ IF BR4 GOTO BG-1
/ IF UART RECEIVE GOTO URTR
/ IF UART TRANSMIT GOTO URTX
/ IF CONSOLE STOP GOTO H-1
/ IF NONE OF THE ABOVE GOTO F-1
LOC NXT * DEST, MODE 1 (REG.DEFERRED) GET DEST DATA, OP, AND REPLACE
103 200 D1-1 B,BA←R[D]; DATIP; BUT JSRMP; ALBT; CKOFF
200 210 D1-2 B←UNIBUS DATA; BUT BYTE
210 143 D1-3 R[11]←B; BUT UNARY
163 334 D1-4 B←R[10] OP B; BUT NONMOD
334 065 D1-5 DATO; ALBYT; CKOFF
065 305 D1-6 DRIVERS←B; GOTO B2-2 (BUT SERVICE)
LOC NXT * DEST, MODE 2 (AUTO-INC) GET DEST DATA, OP, AND REPLACE
105 331 D2-2 BA←R[D]; DATIP; ALBYT
331 341 D2-2 B←R[D]+1+BYTE.BAR
341 200 D2-3 R[D]←B; BUT JSRMP; GOTO D1-2; CKOFF
/ IF INST=JMP GOTO J1-1
/ IF INST=JSR GOTO J2-1
/ IF INST NOT JMP OR JSR FALL THROUGH TO D1-2
LOC NXT * DEST, MODE 3 (AUTO-INC DEFERRED) GET DEST DATA, OP, AND REPLACE
107 160 D3-1 BA←R[D]; DATI
160 070 D3-2 B←R[D]+2
070 071 D3-3 R[D]←B; CKOFF
071 072 D3-4 B ← UNIBUS DATA
072 200 D3-5 BA←B; DATIP; BUT JSRMP; GOTO D1-2; ALBYT; CKOFF
/ NOTE DATA IN PAUSE HERE
LOC NXT * DEST, MODE 4 (AUTO-DEC) GET DEST DATA, OP, AND REPLACE
/ GET TO D4-1 FROM S0-2 VIA BUT DESTINATION (IR<5:3>=4)
/ GET TO D4-1 FROM SBE-1 VIA BUT DESTINATION (IR<5:3>=4)
111 341 D4-1 B,BA←R[0]-1-BYTE.BAR; DATIP; EBNABOVER; GOTO D2-3; ALBYT
LOC NXT * DEST, MODE 5 (AUTO-DEC DEFERRED) GET DEST DATA, OP, AND REPLACE
/ GET TO D5-1 FROM S0-2 VIA BUT DESTINATION (IR<5:3>=5)
/ GET TO D5-1 FROM SBE-1 VIA BUT DESTINATION (IR<5:3>=5)
113 070 D5-1 B,BA←R[D]-2; DATIP; EBNABOVER; GOTO D3-3; ALBYT
LOC NXT * DEST, MODE 6 (INDEXED) GET DEST DATA, OP, AND REPLACE
115 075 D6-1 BA←PC; DATI
275 077 D6-2 B←PC+2
077 057 D6-3 PC←B; CKOFF
057 300 D6-4 B←UNIBUS DATA
300 200 D6-5 B,BA←B+R[D]; DATIP; BUT JSRMP; GOTO D1-2; ALBYT; CKOFF
LOC NXT * DEST, MODE 7 (INDEXED DEFERRED) GET DEST DATA, OP, AND REPLACE
117 310 D7-1 BA←PC; DATI
310 104 D7-2 B←PC+2
104 320 D7-3 PC←B; CKOFF
320 106 D7-4 B←UNIBUS DATA
106 071 D7-5 BA←B+R[D]; DATI; CKOFF; GOTO D3-4
LOC NXT * DESTINATION MODE 0, BYTE
/GET TO DB0-1 FROM D0-1 VIA BUT BYTE (BYTE INST AND MOVE,BAR)
156 144 DB0-1 R[11],B←B SEX; BUT UNARY
/ IF UNARY OTHER THAN JSR, JMP OR SWAB
/(CLR,COM,INC,DEC,NEG,ADC,SBC,TST,ROR,ROL,ASR,ASL) GOTO U3-1
304 040 DB0-3 R[D]<7:0>←B; BUT SERVICE, GOTO F-1
LOC NXT * DESTINATION ODD BYTE
/GET TO D0-1 FROM D1-2 VIA BUT BYTE (BYTE INST AND ODD ADDR)
270 123 D0-1 SHIFT B RIGHT; F SHIFT
123 124 D0-2 SHIFT B RIGHT; F SHIFT
124 125 D0-3 SHIFT B RIGHT; F SHIFT
125 126 D0-4 SHIFT B RIGHT; F SHIFT
126 127 D0-5 SHIFT B RIGHT; F SHIFT
127 130 D0-6 SHIFT B RIGHT; F SHIFT
130 131 D0-7 SHIFT B RIGHT; F SHIFT
131 132 D0-8 SHIFT B RIGHT
132 145 D0-9 R[11],B_B SEX; BUT UNARY
165 342 D0-10 B←R[10] OP B; BUT NONMOD
342 135 D0-11 SHIFT B LEFT; F SHIFT
135 136 D0-12 SHIFT B LEFT; F SHIFT
136 137 D0-13 SHIFT B LEFT; F SHIFT
137 140 D0-14 SHIFT B LEFT; F SHIFT
140 141 D0-15 SHIFT B LEFT; F SHIFT
141 142 D0-16 SHIFT B LEFT; F SHIFT
142 143 D0-17 SHIFT B LEFT; F SHIFT
143 065 D0-18 SHIFT B LEFT; DATO; CKOFF; GOTO D1-6; ALBYT
LOC NXT * DESTINATION EVEN BYTE
/ GET TO DE-1 FROM D1-2 VIA BUT BYTE (BYTE INST AND EVEN ADDR)
250 163 DE-1 R[11]←B SEX; GOTO D1-4; BUT UNARY
/ IF UNARY (OTHER THAN JSR, JMP & SWAB) GOTO U5-1
/ IF NOT UNARY FALL THROUGH TO D1-4
LOC NXT * BINARY OPERATORS GET SINGLE OPERAND B AND B[10]
/GET TO U1-1 FROM D0-2 VIA BUT UNARY (INST=CLR,COM,INC,DEC,NEG,ADC,SBC,TST,ROR,ROL,ASR,ASL
352 162 U1-1 R[10]←B; PRE AUX; GOTO D0-3
353 163 U2-1 R[10]←B; PRE AUX; GOTO D1-4
354 164 U3-1 R[10]←B; PRE AUX; GOTO DB0-2
355 165 U4-1 R[10]←B; PRE AUX; GOTO D0-10
373 163 U5-1 R[10]←B; PRE AUX; GOTO D1-4
LOC NXT * MOVB INST
/ GET TO MB-0 FROM D0-1 VIA BUT MOVE (INST=MOVE AND BYTE)
154 240 MB-0 PRE AUX
240 152 MB-1 B←R[10] OP B
152 040 MB-2 R[D]←B SEX; BUT SERVICE
LOC NXT * BRANCH, CHANGE PC
015 147 B-1 SHIFT B LEFT
147 146 B-2 B←PC+B
146 040 B-3 PC←B; BUT SERVICE
LOC NXT * CONDITION CODE MASK (FOR BOTH SET AND CLEAR)
151 350 CCM-1 B←B AND K[17]
350 112 CCM-2 BUT DEST
/ IF INST= SET, GO TO SC-1
/ IF INST=CLEAR, GO TO CC-1
LOC NXT * CLEAR CONDITION CODES
112 040 CC-1 PSW←PSW AND (B.BAR);BUT SERVICE
/ THIS CLEARS THE SELECTED BITS OF THE PSW.
LOC NXT * SET CONDITION CODES
116 040 SC-1 PSW←PSW OR B; BUT SERVICE
LOC NXT * SWAB, MODE 0
/ GET TO SB1-1 FROM D0-2 VIA BUT UNARY (INST=SWAB AND MODE=0)
/ ROTATE LEFT ACCOMPLISHED VIA ASR
166 172 SB1-1 ROTATE B LEFT; F SHIFT
172 173 SB1-2 ROTATE B LEFT; F SHIFT
173 174 SB1-3 ROTATE B LEFT; F SHIFT
174 144 SB1-4 ROTATE B LEFT; F SHIFT
144 176 SB1-5 ROTATE B LEFT; F SHIFT
176 177 SB1-6 ROTATE B LEFT; F SHIFT
177 006 SB1-7 ROTATE B LEFT; F SHIFT
006 155 SB1-8 ROTATE B LEFT; PRE AUX; GOTO D0-3A
LOC NXT * SWAB, NOT MODE 0
/ GET TO SB2-1 FROM D1-3 VIA BUT UNARY (INST=SWAB)
/ ROTATE LEFT ACCOMPLISHED VIA ASR
167 012 SB2-1 ROTATE B LEFT; F SHIFT
012 220 SB2-2 ROTATE B LEFT; F SHIFT
220 022 SB2-3 ROTATE B LEFT; F SHIFT
022 023 SB2-4 ROTATE B LEFT; F SHIFT
023 024 SB2-5 ROTATE B LEFT; F SHIFT
024 031 SB2-6 ROTATE B LEFT; F SHIFT
031 330 SB2-7 ROTATE B LEFT; F SHIFT
330 163 SB2-8 ROTATE B LEFT; PRE AUX; GOTO D1-4
LOC NXT * JMP
/GET TO J1-1 FROM D1-1 VIA BUT JSRMP (INST=JMP)
/GET TO J1-1 FROM D2-3 VIA BUT JSRMP (INST=JMP)
/GET TO J1-1 FROM D3-5 VIA BUT JSRMP (INST=JMP)
/GET TO J1-1 FROM D6-5 VIA BUT JSRMP (INST=JMP)
204 260 J1-1 NOP
/J1-1 MUST BE A NOP BECAUSE FOLLOWING A CKOFF, THE AMX WILL
/BE FORCED TO TAKE DATA FROM THE UNIBUS.
260 040 J1-2 PC_B; BUT SERVICE
LOC NXT * JSR
/GET TO J2-1 FROM D1-1 VIA BUT JSRMP (INST=JSR)
/GET TO J2-1 FROM D2-3 VIA BUT JSRMP (INST=JSR)
/GET TO J2-1 FROM D3-5 VIA BUT JSRMP (INST=JSR)
/GET TO J2-1 FROM D6-5 VIA BUT JSRMP (INST=JSR)
212 261 J2-1 NOP
/J2-1 MUST BE A NOP BECAUSE FOLLOWING A CKOFF, THE AMX WILL
/BE FORCED TO TAKE DATA FROM THE UNIBUS.
261 262 J2-1A R[11]_B
262 214 J2-2 B,BA←R[6]-2; ENABOVER
214 206 J2-3 R[6]←B; CKOFF; DATO
206 216 J2-4 DRIVERS_R[S]
216 263 J2-5 B9 ← PC
263 264 J2-6 R[S]_B
264 265 J2-7 B_R[11]
265 040 J2-8 PC_B; BUT SERVICE
LOC NXT * RTS
/GET TO R1-1 FROM F-5 VIA BUT IR DECODE (INST=RTS)
005 221 R1-1 BA←R[6]; DATI
221 222 R1-2 B←R[6]+2
222 223 R1-3 R[6]←B
223 224 R1-4 B←R[D]
224 225 R1-5 PC←B; CKOFF
225 332 R1-6 B←UNIBUS DATA; GOTO D0-4
LOC NXT * RTI
/GET TO R2-1 FROM F-5 VIA BUT IR DECODE (INST=RTI)
227 230 R2-1 BA←R[6]; DATI
230 231 R2-2 B←R[6]+2
231 232 R2-3 R[6]←B; CKOFF
232 234 R2-4 PC←UNIBUS DATA
/THERE IS NO R2-5 ANYMORE.
234 235 R2-6 BA←R[6]; DATI
235 236 R2-7 B←R[6]+2
236 237 R2-8 R[6]←B; CKOFF
237 305 R2-9 PS←UNIBUS DATA; GOTO B2-2 (BUT SERVICE)
LOC NXT * WAIT
/GET TO W-1 FROM F-5 VIA BUT IR DECODE (INST=WAIT)
/GET TO W-1 FROM W-1 VIA GOTO IF BUT SERVICE IS FALSE
063 040 W-1 BUT SERVICE
/ THE MOCRO PROGRAM WILL LOOP ON W-1 UNTIL SOME HIGHER
/ PRIORITY CONDITION IS RECOGNIZED BY THE `BUT SERVICE' ROM
/ SEE F1-1 ON THE CONE PRINT
LOC NXT * HALT
/ GET TO H-1 FROM F-5 VIA BUT IR DECODE (INST=HALT)
/ GET TO H-1 FROM BUT SERVICE
041 302 H-1 B←PC
/ DISPLAY PC IN LIGHTS BY PUTTING IT INTO B
/ GET TO H-2 FROM CE1-3 VIA GOTO
/ GET TO H-2 FROM CD1-5 VIA GOTO
/ GET TO H-2 FROM CL-3 VIA GOTO
302 300 H-2 BA←R[17]; BUT SERVICE
/ THE BA IS LOADED HERE SO THAT THE ADDRESS WILL BE
/ INCREMENTED BY +1 WHEN EXAMINING (OR DEPOSITING) INTO REGISTERS
/ INCREMENTED BY +2 WHEN EXAMINING (OR DEPOSITING) INTO MEMORY
/ IF START DEPRESSED GO TO CS-1
/ IF CONTINUE DEPRESSED GO TO CCS-1
LOC NXT * EMT TRAP (VECTOR LOC=30)
/ GET TO ET-1 FROM F-5 VIA BUT IR DECODE (INST=EMT)
011 245 ET-1 B←K[30]
/ GET TO ET-2 FROM BT-1, IT-1, T-1, RT-1, ERT-1, PF-1 VIA GOTO
245 246 ET-2 R[12]←B
246 247 ET-3 B,BA←R[6]-2; ENABOVER
/ ET-4 HAS BEEN ELIMINATED
247 226 ET-5 R[6]←B; CKOFF; DATO
226 251 ET-6 DRIVERS ← PS
251 252 ET-7 B,BA←R[6]-2; ENABOVER
252 253 ET-8 R[6]←B; CKOFF; DATO
253 254 ET-9 DRIVERS ← PC
254 255 ET-10 BA←R[12]; DATI CKOFF
255 256 ET-11 PC←UNIBUS DATA
256 257 ET-12 BA←R[12]+2; DATI; CKOFF
257 305 ET-13 PS←UNIBUS DATA; GOTO B2-2 (SERVICE)
LOC NXT * BREAKPOINT TRAP (VECTOR LOC=14) AND T BIT TRACE TRAP
/ GET TO BT-1 FROM F-5 VIA BUT IR DECODE (INST=BPT)
045 245 BT-1 B←K[14]; GOTO ET-2
LOC NXT * IOT (VECTOR LOC=20)
/ GET TO IT-1 FROM F-5 VIA BUT IR DECODE (INST=IOT)
273 245 IT-1 B←K[20]; GOTO ET-2
LOC NXT * TRAP (VECTOR LOC=34)
/ GET TO T-1 FROM F-5 VIA BUT IR DECODE (INST=TRAP)
021 245 IT-1 B←K[34]; GOTO ET-2
LOC NXT * RESERVED INST TRAP (VECTOR LOC=10)
/ GET TO T-1 FROM F-5 VIA BUT IR DECODE (INST=NON VALID)
001 245 RT-1 B←K[10]; GOTO ET-2
LOC NXT * ERROR TRAP: BUS ERROR, STACK OVERFLOW, ILLEGAL INST(VECTOR LOC=4)
LOC NXT * CONSOLE START SWITCH
LOC NXT * CONSOLE EXAMINE SWITCH - FIRST TIME (DON'T INC P[17])
LOC NXT * CONSOLE EXAMINE SWITCH - OTHER TIMES (INC P[17])
LOC NXT * CONSOLE DEPOSIT SWITCH - FIRST TIME (DON'T INC P[17])
LOC NXT * CONSOLE DEPOSIT SWITCH - FIRST TIME (DON'T INC P[17])
LOC NXT * CONSOLE DEPOSIT SWITCH - OTHER TIMES (INC P[17])
LOC NXT * CONSOLE CONTINUE SWITCH
LOC NXT * CONSOLE LOAD SWITCH
LOC NXT * POWER FAIL (VECTOR LOC=24)
LOC NXT * RESTART FROM POWER FAIL (VECTOR LOC=24)
LOC NXT * INTERRUPT SERVICING
LOC NXT * BUS GRANT SERVICE
LOC NXT * NOP - BRANCH CONDITION NOT TRUE (PC UNCHANGED)
LOC NXT * RESET
/ GET TO RST-1 FROM F-5 VIA BUT IR DECODE (INST=RESET)
357 305 RST-1 BUT INIT; CKOFF; GOTO B2-2 (BUT SERVICE)
LOC NXT * DOUBLE BUS ERROR, GOTO HALT
110 041 DBE-1 NOP; GOTO H-1
LOC NXT * UART XMIT (VECTOR LOC 64)
060 245 URTX B←K[64]; GOTO ET-2
LOC NXT * UART RECEIVE (VECTOR LOC 60)
064 245 URTR B←K[60]; GOTO ET-2
LOC NXT * LINE CLOCK (VECTOR LOC 100)
042 245 LC-1 B←K[100]; GOTO ET-2
ERT1A NOT EXPLICITLY SHOWN IN FLOW
D0-3A NOT EXPLICITLY SHOWN IN FLOW
A145 NOT EXPLICITLY SHOWN IN FLOW
ET2-2 NOT EXPLICITLY SHOWN IN FLOW
ET2-3 NOT EXPLICITLY SHOWN IN FLOW
ET2-5 NOT EXPLICITLY SHOWN IN FLOW
ET2-6 NOT EXPLICITLY SHOWN IN FLOW
ET2-7 NOT EXPLICITLY SHOWN IN FLOW
ERT1B NOT EXPLICITLY SHOWN IN FLOW
B2-2A NOT EXPLICITLY SHOWN IN FLOW
B2-2B NOT EXPLICITLY SHOWN IN FLOW
B2-2C NOT EXPLICITLY SHOWN IN FLOW
B2-2D NOT EXPLICITLY SHOWN IN FLOW